﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using BLL;
using Table_Dal;
namespace ApplicationLayer.FrmChild
{
    public partial class frmImport : DevComponents.DotNetBar.OfficeForm
    {
        public frmImport()
        {
            InitializeComponent();
        }

        private void frmImport_Load(object sender, EventArgs e)
        {
            btnCheck.Enabled = false;
            btnOk.Enabled = false;
        }

        private void lblBroweCauHoi_Click(object sender, EventArgs e)
        {
            OpenFileDialog Open1 = new OpenFileDialog();
            Open1.Title = "Mở tập tin";
            Open1.InitialDirectory = @"C:\";
            Open1.Filter = "*File Excel|*.xls";
            Open1.ShowDialog();
            txtCauHoi.Text = Open1.FileName.ToString();
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Hide();
        }
        CauHoiBll bll;
        DataTable tblAll;
        private void btnHienThi_Click(object sender, EventArgs e)
        {
            if (txtCauHoi.Text.Trim().Length == 0)
            {
                MessageBox.Show("Dữ liệu nhập trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                grvCauHoi.DataSource = null;
                btnCheck.Enabled = false;
                btnOk.Enabled = false;
                return;
            }
            bll = new CauHoiBll();
            tblAll = new DataTable();
            tblAll = bll.LayDuLieuExcel(txtCauHoi.Text);
            if (tblAll.Columns.Count != 23)
            {
                MessageBox.Show("Dữ liệu không phù hợp để import vào database! Vui lòng kiểm tra lại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            grvCauHoi.DataSource = tblAll;
            grvCauHoi.Columns[0].HeaderText = "Mã chương";
            grvCauHoi.Columns[1].HeaderText = "Nội dung Câu hỏi";
            grvCauHoi.Columns[2].HeaderText = "Hình Ảnh";
            grvCauHoi.Columns[3].HeaderText = "Thời gian";
            grvCauHoi.Columns[4].HeaderText = "Độ khó";

            grvCauHoi.Columns[5].HeaderText="Nội dung đáp án 1";
            grvCauHoi.Columns[6].HeaderText = "Hình ảnh đáp án 1";
            grvCauHoi.Columns[7].HeaderText = "LoạiDA đáp án 1";

            grvCauHoi.Columns[8].HeaderText = "Nội dung đáp án 2";
            grvCauHoi.Columns[9].HeaderText = "Hình ảnh đáp án 2";
            grvCauHoi.Columns[10].HeaderText = "LoạiDA đáp án 2";

            grvCauHoi.Columns[11].HeaderText = "Nội dung đáp án 3";
            grvCauHoi.Columns[12].HeaderText = "Hình ảnh đáp án 3";
            grvCauHoi.Columns[13].HeaderText = "LoạiDA đáp án 3";

            grvCauHoi.Columns[14].HeaderText = "Nội dung đáp án 4";
            grvCauHoi.Columns[15].HeaderText = "Hình ảnh đáp án 4";
            grvCauHoi.Columns[16].HeaderText = "LoạiDA đáp án 4";

            grvCauHoi.Columns[17].HeaderText = "Nội dung đáp án 5";
            grvCauHoi.Columns[18].HeaderText = "Hình ảnh đáp án 5";
            grvCauHoi.Columns[19].HeaderText = "LoạiDA đáp án 5";

            grvCauHoi.Columns[20].HeaderText = "Nội dung đáp án 6";
            grvCauHoi.Columns[21].HeaderText = "Hình ảnh đáp án 6";
            grvCauHoi.Columns[22].HeaderText = "LoạiDA đáp án 6";
            
            btnCheck.Enabled = true;
        }

        private void reflectionLabel1_Click(object sender, EventArgs e)
        {

        }

        private void txtCauHoi_TextChanged(object sender, EventArgs e)
        {

        }

        private void labelX1_Click(object sender, EventArgs e)
        {

        }

        private void panel2_Paint(object sender, PaintEventArgs e)
        {

        }

        private void dgvCauHoi_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void btnCheck_Click(object sender, EventArgs e)
        {
            if (Kiemtra() == true)
            {
                MessageBox.Show("Kiểm tra hoàn tất!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                btnOk.Enabled = true;
            }
            else
            {
                btnOk.Enabled = false;
            }
        }
        CauHoiBll chbll;
        DapAnBll dabll;
        ChuongBll chgbll;
        List<string> dsCauHoi1 = new List<string>();
        List<string> dsChuong1 = new List<string>();
        List<string> dsDapAn1 = new List<string>();
        public bool Kiemtra()
        {
            dsChuong1 = new List<string>();
            chgbll = new ChuongBll();
            dsChuong1 = chgbll.LayTatCa_string();
            for (int i = 0; i < grvCauHoi.Rows.Count - 1; i++)
            {
                if (grvCauHoi.Rows[i].Cells[0].Value.ToString() == "" || grvCauHoi.Rows[i].Cells[0].Value.ToString() == null)
                {
                    BoChecked();
                    grvCauHoi.Rows[i].Cells[0].Selected = true;
                    MessageBox.Show("Thuộc tính MaChuong ko được trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return false;
                }
                if (grvCauHoi.Rows[i].Cells[0].Value.ToString().IsInt() == false)
                {
                    MessageBox.Show("Dữ liệu của Mã chương phải là kiểu int :" + grvCauHoi.Rows[i].Cells[0].Value);
                    BoChecked();
                    grvCauHoi.Rows[i].Cells[0].Selected = true;
                    return false;
                }
                if (KiemTraKhoaChuong(grvCauHoi.Rows[i].Cells[0].Value.ToString()) == false)
                {
                    BoChecked();
                    grvCauHoi.Rows[i].Cells[0].Selected = true;
                    MessageBox.Show("Thuộc tính 'Mã Chương' Không Tồn Tại", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return false;
                }

                if (grvCauHoi.Rows[i].Cells[1].Value.ToString().Trim().Length == 0)
                {
                    BoChecked();
                    grvCauHoi.Rows[i].Cells[1].Selected = true;
                    MessageBox.Show("Nội dung câu hỏi trống ");
                    return false;
                }
                if (grvCauHoi.Rows[i].Cells[2].Value != null && grvCauHoi.Rows[i].Cells[2].Value.ToString() != "" && grvCauHoi.Rows[i].Cells[2].Value.ToString().Length > 3)
                {
                    if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[2].Value.ToString()) == 1)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[2].Selected = true;
                        MessageBox.Show("Thuộc tính HINHANH không phải Đuôi JPG", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return false;
                    }
                    else
                    {
                        if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[2].Value.ToString()) == 0)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[2].Selected = true;
                            MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                    }
                }
                else
                {
                    if (grvCauHoi.Rows[i].Cells[2].Value.ToString().Length > 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[2].Selected = true;
                        MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return false;
                    }
                }

                if (grvCauHoi.Rows[i].Cells[3].Value.ToString().IsInt() == false && grvCauHoi.Rows[i].Cells[3].Value.ToString() != "" && grvCauHoi.Rows[i].Cells[3].Value.ToString() != null)
                {
                    BoChecked();
                    grvCauHoi.Rows[i].Cells[3].Selected = true;
                    MessageBox.Show(@"Dữ liệu của THOIGIAN phải là kiểu int " + grvCauHoi.Rows[i].Cells[3].Value);
                    return false;
                }
                if (int.Parse(grvCauHoi.Rows[i].Cells[3].Value.ToString()) <= 0 || int.Parse(grvCauHoi.Rows[i].Cells[3].Value.ToString()) >= 10)
                {
                    BoChecked();
                    grvCauHoi.Rows[i].Cells[3].Selected = true;
                    MessageBox.Show(@"Dữ liệu của THOIGIAN phải là từ 1 - 10:  " + grvCauHoi.Rows[i].Cells[3].Value);
                    return false;
                }

                if (grvCauHoi.Rows[i].Cells[4].Value.ToString().IsInt() == false)
                {
                    BoChecked();
                    grvCauHoi.Rows[i].Cells[4].Selected = true;
                    MessageBox.Show("Dữ liệu của Độ khó phải là kiểu int: " + grvCauHoi.Rows[i].Cells[4].Value);
                    return false;
                }

                if (int.Parse(grvCauHoi.Rows[i].Cells[4].Value.ToString()) > 5 || int.Parse(grvCauHoi.Rows[i].Cells[4].Value.ToString()) < 1)
                {
                    BoChecked();
                    grvCauHoi.Rows[i].Cells[4].Selected = true;
                    MessageBox.Show(@"Dữ liệu của Độ khó phải từ 1->5: " + grvCauHoi.Rows[i].Cells[4].Value);
                    return false;
                }
                int dapan = 0;
                int sodapan = 0;
                //-------------------------------
                if ((grvCauHoi.Rows[i].Cells[5].Value != null && grvCauHoi.Rows[i].Cells[5].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[6].Value != null && grvCauHoi.Rows[i].Cells[6].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[7].Value != null && grvCauHoi.Rows[i].Cells[7].Value.ToString().Trim().Length > 0))
                {
                    sodapan++;
                    if (grvCauHoi.Rows[i].Cells[5].Value.ToString().Trim().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[5].Selected = true;
                        MessageBox.Show("Nội dung đáp án 1 trống ");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[6].Value != null && grvCauHoi.Rows[i].Cells[6].Value.ToString() != "" && grvCauHoi.Rows[i].Cells[6].Value.ToString().Length > 3)
                    {
                        if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[6].Value.ToString()) == 1)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[6].Selected = true;
                            MessageBox.Show("Thuộc tính HINHANH không phải Đuôi JPG", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                        else
                        {
                            if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[6].Value.ToString()) == 0)
                            {
                                BoChecked();
                                grvCauHoi.Rows[i].Cells[6].Selected = true;
                                MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return false;
                            }
                        }
                    }
                    else
                    {
                        if (grvCauHoi.Rows[i].Cells[6].Value.ToString().Length > 0)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[6].Selected = true;
                            MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                    }

                    if (grvCauHoi.Rows[i].Cells[7].Value == null || grvCauHoi.Rows[i].Cells[7].Value.ToString().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[7].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA trống!");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[7].Value.ToString().IsInt() == false)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[7].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }

                    if (int.Parse(grvCauHoi.Rows[i].Cells[7].Value.ToString()) != 0 && int.Parse(grvCauHoi.Rows[i].Cells[7].Value.ToString()) != 1)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[7].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }
                    if (int.Parse(grvCauHoi.Rows[i].Cells[7].Value.ToString()) == 1)
                        dapan++;
                }
                //-----------------

                if ((grvCauHoi.Rows[i].Cells[8].Value != null && grvCauHoi.Rows[i].Cells[8].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[9].Value != null && grvCauHoi.Rows[i].Cells[9].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[10].Value != null && grvCauHoi.Rows[i].Cells[10].Value.ToString().Trim().Length > 0))
                {
                    sodapan++;
                    if (grvCauHoi.Rows[i].Cells[8].Value.ToString().Trim().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[8].Selected = true;
                        MessageBox.Show("Nội dung đáp án 2 trống ");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[9].Value != null && grvCauHoi.Rows[i].Cells[9].Value.ToString() != "" && grvCauHoi.Rows[i].Cells[9].Value.ToString().Length > 3)
                    {
                        if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[9].Value.ToString()) == 1)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[9].Selected = true;
                            MessageBox.Show("Thuộc tính HINHANH không phải Đuôi JPG", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                        else
                        {
                            if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[9].Value.ToString()) == 0)
                            {
                                BoChecked();
                                grvCauHoi.Rows[i].Cells[9].Selected = true;
                                MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return false;
                            }
                        }
                    }
                    else
                    {
                        if (grvCauHoi.Rows[i].Cells[9].Value.ToString().Length > 0)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[9].Selected = true;
                            MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                    }

                    if (grvCauHoi.Rows[i].Cells[10].Value == null || grvCauHoi.Rows[i].Cells[10].Value.ToString().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[10].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA trống!");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[10].Value.ToString().IsInt() == false)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[10].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }

                    if (int.Parse(grvCauHoi.Rows[i].Cells[10].Value.ToString()) != 0 && int.Parse(grvCauHoi.Rows[i].Cells[10].Value.ToString()) != 1)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[10].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }
                    if (int.Parse(grvCauHoi.Rows[i].Cells[10].Value.ToString()) == 1)
                        dapan++;
                }
                //----------------------

                if ((grvCauHoi.Rows[i].Cells[11].Value != null && grvCauHoi.Rows[i].Cells[11].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[12].Value != null && grvCauHoi.Rows[i].Cells[12].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[13].Value != null && grvCauHoi.Rows[i].Cells[13].Value.ToString().Trim().Length > 0))
                {
                    sodapan++;
                    if (grvCauHoi.Rows[i].Cells[11].Value.ToString().Trim().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[11].Selected = true;
                        MessageBox.Show("Nội dung đáp án 3 trống ");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[12].Value != null && grvCauHoi.Rows[i].Cells[12].Value.ToString() != "" && grvCauHoi.Rows[i].Cells[12].Value.ToString().Length > 3)
                    {
                        if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[12].Value.ToString()) == 1)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[12].Selected = true;
                            MessageBox.Show("Thuộc tính HINHANH không phải Đuôi JPG", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                        else
                        {
                            if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[12].Value.ToString()) == 0)
                            {
                                BoChecked();
                                grvCauHoi.Rows[i].Cells[12].Selected = true;
                                MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return false;
                            }
                        }
                    }
                    else
                    {
                        if (grvCauHoi.Rows[i].Cells[12].Value.ToString().Length > 0)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[12].Selected = true;
                            MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                    }

                    if (grvCauHoi.Rows[i].Cells[13].Value == null || grvCauHoi.Rows[i].Cells[13].Value.ToString().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[13].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA trống!");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[13].Value.ToString().IsInt() == false)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[13].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }

                    if (int.Parse(grvCauHoi.Rows[i].Cells[13].Value.ToString()) != 0 && int.Parse(grvCauHoi.Rows[i].Cells[13].Value.ToString()) != 1)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[13].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }
                    if (int.Parse(grvCauHoi.Rows[i].Cells[13].Value.ToString()) == 1)
                        dapan++;
                }
                //----------------------

                if ((grvCauHoi.Rows[i].Cells[14].Value != null && grvCauHoi.Rows[i].Cells[14].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[15].Value != null && grvCauHoi.Rows[i].Cells[15].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[16].Value != null && grvCauHoi.Rows[i].Cells[16].Value.ToString().Trim().Length > 0))
                {
                    sodapan++;
                    if (grvCauHoi.Rows[i].Cells[14].Value.ToString().Trim().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[14].Selected = true;
                        MessageBox.Show("Nội dung đáp án 4 trống ");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[15].Value != null && grvCauHoi.Rows[i].Cells[15].Value.ToString() != "" && grvCauHoi.Rows[i].Cells[15].Value.ToString().Length > 3)
                    {
                        if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[15].Value.ToString()) == 1)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[15].Selected = true;
                            MessageBox.Show("Thuộc tính HINHANH không phải Đuôi JPG", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                        else
                        {
                            if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[15].Value.ToString()) == 0)
                            {
                                BoChecked();
                                grvCauHoi.Rows[i].Cells[15].Selected = true;
                                MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return false;
                            }
                        }
                    }
                    else
                    {
                        if (grvCauHoi.Rows[i].Cells[15].Value.ToString().Length > 0)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[15].Selected = true;
                            MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                    }

                    if (grvCauHoi.Rows[i].Cells[16].Value == null || grvCauHoi.Rows[i].Cells[16].Value.ToString().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[16].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA trống!");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[16].Value.ToString().IsInt() == false)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[16].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }

                    if (int.Parse(grvCauHoi.Rows[i].Cells[16].Value.ToString()) != 0 && int.Parse(grvCauHoi.Rows[i].Cells[16].Value.ToString()) != 1)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[16].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }
                    if (int.Parse(grvCauHoi.Rows[i].Cells[16].Value.ToString()) == 1)
                        dapan++;
                }
                //---------------------------------

                if ((grvCauHoi.Rows[i].Cells[17].Value != null && grvCauHoi.Rows[i].Cells[17].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[18].Value != null && grvCauHoi.Rows[i].Cells[18].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[19].Value != null && grvCauHoi.Rows[i].Cells[19].Value.ToString().Trim().Length > 0))
                {
                    sodapan++;
                    if (grvCauHoi.Rows[i].Cells[17].Value.ToString().Trim().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[17].Selected = true;
                        MessageBox.Show("Nội dung đáp án 5 trống ");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[18].Value != null && grvCauHoi.Rows[i].Cells[18].Value.ToString() != "" && grvCauHoi.Rows[i].Cells[18].Value.ToString().Length > 3)
                    {
                        if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[18].Value.ToString()) == 1)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[18].Selected = true;
                            MessageBox.Show("Thuộc tính HINHANH không phải Đuôi JPG", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                        else
                        {
                            if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[18].Value.ToString()) == 0)
                            {
                                BoChecked();
                                grvCauHoi.Rows[i].Cells[18].Selected = true;
                                MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return false;
                            }
                        }
                    }
                    else
                    {
                        if (grvCauHoi.Rows[i].Cells[18].Value.ToString().Length > 0)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[18].Selected = true;
                            MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                    }

                    if (grvCauHoi.Rows[i].Cells[19].Value == null || grvCauHoi.Rows[i].Cells[19].Value.ToString().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[19].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA trống!");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[19].Value.ToString().IsInt() == false)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[19].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }

                    if (int.Parse(grvCauHoi.Rows[i].Cells[19].Value.ToString()) != 0 && int.Parse(grvCauHoi.Rows[i].Cells[19].Value.ToString()) != 1)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[19].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }
                    if (int.Parse(grvCauHoi.Rows[i].Cells[19].Value.ToString()) == 1)
                        dapan++;
                }
                //----------------------
                if ((grvCauHoi.Rows[i].Cells[20].Value != null && grvCauHoi.Rows[i].Cells[20].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[21].Value != null && grvCauHoi.Rows[i].Cells[21].Value.ToString().Trim().Length > 0) || (grvCauHoi.Rows[i].Cells[22].Value != null && grvCauHoi.Rows[i].Cells[22].Value.ToString().Trim().Length > 0))
                {
                    sodapan++;
                    if (grvCauHoi.Rows[i].Cells[20].Value.ToString().Trim().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[20].Selected = true;
                        MessageBox.Show("Nội dung đáp án 6 trống ");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[21].Value != null && grvCauHoi.Rows[i].Cells[21].Value.ToString() != "" && grvCauHoi.Rows[i].Cells[21].Value.ToString().Length > 3)
                    {
                        if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[21].Value.ToString()) == 1)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[21].Selected = true;
                            MessageBox.Show("Thuộc tính HINHANH không phải Đuôi JPG", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                        else
                        {
                            if (KiemTraDuongDan(grvCauHoi.Rows[i].Cells[21].Value.ToString()) == 0)
                            {
                                BoChecked();
                                grvCauHoi.Rows[i].Cells[21].Selected = true;
                                MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return false;
                            }
                        }
                    }
                    else
                    {
                        if (grvCauHoi.Rows[i].Cells[21].Value.ToString().Length > 0)
                        {
                            BoChecked();
                            grvCauHoi.Rows[i].Cells[21].Selected = true;
                            MessageBox.Show("Đường dẫn HINHANH không tồn tại! Bạn có thể bỏ trống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return false;
                        }
                    }

                    if (grvCauHoi.Rows[i].Cells[22].Value == null || grvCauHoi.Rows[i].Cells[22].Value.ToString().Length == 0)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[22].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA trống!");
                        return false;
                    }

                    if (grvCauHoi.Rows[i].Cells[22].Value.ToString().IsInt() == false)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[22].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }

                    if (int.Parse(grvCauHoi.Rows[i].Cells[22].Value.ToString()) != 0 && int.Parse(grvCauHoi.Rows[i].Cells[22].Value.ToString()) != 1)
                    {
                        BoChecked();
                        grvCauHoi.Rows[i].Cells[22].Selected = true;
                        MessageBox.Show(@"Dữ liệu của LOAIDA phải là 1 hoặc 0.");
                        return false;
                    }
                    if (int.Parse(grvCauHoi.Rows[i].Cells[22].Value.ToString()) == 1)
                        dapan++;
                }
                //---------------------
                if (sodapan < 2)
                {
                    MessageBox.Show("Phải có ít nhất 2 đáp án", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    BoChecked();
                    grvCauHoi.Rows[i].Selected = true;
                    return false;
                }
                if (dapan < 1)
                {
                    MessageBox.Show("Phải có ít nhất 1 đáp án đúng","Thông báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
                    BoChecked();
                    grvCauHoi.Rows[i].Selected = true;
                    return false;
                }
            }
            return true;
        }

        private bool KiemTraKhoaChuong(string p)
        {
            foreach (var item in dsChuong1)
            {
                if (item == p)
                    return true;
            }
            return false;
        }

        private int KiemTraDuongDan(string S)
        {
            if (S.Substring(S.Length - 3) != "jpg")
            {
                return 1;
            }
            if (System.IO.File.Exists(S))
            {
                return 2;
            }
            else
            {
                return 0;
            }
        }
        public bool kiemtraKhoa(string ma)
        {
            
            foreach (var item1 in dsCauHoi1)
            {
                if (item1 == ma)
                    return true;
            }
            foreach (var item1 in dsCauhoi2)
            {
                if (item1 == ma)
                    return true;
            }
            return false;
        }
        public bool kiemtraKhoa_Dapan(string ma)
        {
            
            foreach (var item1 in dsDapAn1)
            {
                if (item1 == ma)
                    return true;
            }
            foreach (var item1 in dsDapan2)
            {
                if (item1 == ma)
                    return true;
            }
            return false;
        }
        private void BoChecked()
        {
            grvCauHoi.ClearSelection();
        }
        BusinessLogicLayer blley;
        List<string> dsCauhoi2;
        List<string> dsDapan2;
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (Kiemtra() == false)
            {
                btnOk.Enabled = false;
                return;
            }
            dsCauhoi2 = new List<string>();
            dsDapan2 = new List<string>();
            dsCauHoi1 = new List<string>();
            dsDapAn1 = new List<string>();
            dabll = new DapAnBll();
            dsDapAn1 = dabll.LayTatCa_string();
            chbll = new CauHoiBll();
            dsCauHoi1 = chbll.LayTatCa_string();
            if (MessageBox.Show("Bạn chắc Import Câu hỏi chứ?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                grvCauHoi.ReadOnly = true;
                blley = new BusinessLogicLayer();
                //Tao khoa'
                chbll = new CauHoiBll();
                dabll = new DapAnBll();
                for (int i = 0; i < grvCauHoi.Rows.Count - 1; i++)
                {
                    string x = blley.RandomMa();
                    while (kiemtraKhoa(x) == true)
                    {
                        x = blley.RandomMa();
                    }
                    dsCauhoi2.Add(x);
                    CauHoiTbl ch = new CauHoiTbl();
                    ch.MaCauHoi = x;
                    ch.MaChuong = grvCauHoi.Rows[i].Cells[0].Value.ToString();
                    ch.NoiDung = grvCauHoi.Rows[i].Cells[1].Value.ToString();
                    ch.HinhAnh = grvCauHoi.Rows[i].Cells[2].Value.ToString();
                    ch.ThoiGian = int.Parse(grvCauHoi.Rows[i].Cells[3].Value.ToString());
                    ch.DoKho = int.Parse(grvCauHoi.Rows[i].Cells[4].Value.ToString());
                    if (grvCauHoi.Rows[i].Cells[2].Value.ToString() != null && grvCauHoi.Rows[i].Cells[2].Value.ToString() != "")
                        blley.CopyPicture(ch.HinhAnh, "CAUHOI", ch.MaCauHoi);
                    chbll.ThemCauHoi(ch);
                    
                    //-----------------1
                    if ((grvCauHoi.Rows[i].Cells[5].Value != null && grvCauHoi.Rows[i].Cells[5].Value.ToString().Trim().Length > 0) &&(grvCauHoi.Rows[i].Cells[7].Value != null && grvCauHoi.Rows[i].Cells[7].Value.ToString().Trim().Length > 0))
                    {
                        string ma1 = blley.RandomMa();
                        while (kiemtraKhoa_Dapan(ma1) == true)
                            ma1 = blley.RandomMa();
                        dsDapan2.Add(ma1);
                        DapAnTbl da1 = new DapAnTbl();
                        da1.MaDapAn = ma1;
                        da1.MaCauHoi = x;
                        da1.NoiDung = grvCauHoi.Rows[i].Cells[5].Value.ToString();
                        da1.HinhAnh = grvCauHoi.Rows[i].Cells[6].Value.ToString();
                        da1.LoaiDA = int.Parse(grvCauHoi.Rows[i].Cells[7].Value.ToString());
                        if (da1.HinhAnh != null && da1.HinhAnh != "")
                            blley.CopyPicture(da1.HinhAnh, "DAPAN", da1.MaDapAn);
                        dabll.ThemDapAn(da1);
                    }
                    //-----------------2
                    if ((grvCauHoi.Rows[i].Cells[8].Value != null && grvCauHoi.Rows[i].Cells[8].Value.ToString().Trim().Length > 0) && (grvCauHoi.Rows[i].Cells[10].Value != null && grvCauHoi.Rows[i].Cells[10].Value.ToString().Trim().Length > 0))
                    {
                        string ma2 = blley.RandomMa();
                        while (kiemtraKhoa_Dapan(ma2) == true)
                            ma2 = blley.RandomMa();
                        dsDapan2.Add(ma2);
                        DapAnTbl da2 = new DapAnTbl();
                        da2.MaDapAn = ma2;
                        da2.MaCauHoi = x;
                        da2.NoiDung = grvCauHoi.Rows[i].Cells[8].Value.ToString();
                        da2.HinhAnh = grvCauHoi.Rows[i].Cells[9].Value.ToString();
                        da2.LoaiDA = int.Parse(grvCauHoi.Rows[i].Cells[10].Value.ToString());
                        if (da2.HinhAnh != null && da2.HinhAnh != "")
                            blley.CopyPicture(da2.HinhAnh, "DAPAN", da2.MaDapAn);
                        dabll.ThemDapAn(da2);
                    }
                    //-----------------3
                    if ((grvCauHoi.Rows[i].Cells[11].Value != null && grvCauHoi.Rows[i].Cells[11].Value.ToString().Trim().Length > 0) && (grvCauHoi.Rows[i].Cells[13].Value != null && grvCauHoi.Rows[i].Cells[13].Value.ToString().Trim().Length > 0))
                    {
                        string ma3 = blley.RandomMa();
                        while (kiemtraKhoa_Dapan(ma3) == true)
                            ma3 = blley.RandomMa();
                        dsDapan2.Add(ma3);
                        DapAnTbl da3 = new DapAnTbl();
                        da3.MaDapAn = ma3;
                        da3.MaCauHoi = x;
                        da3.NoiDung = grvCauHoi.Rows[i].Cells[11].Value.ToString();
                        da3.HinhAnh = grvCauHoi.Rows[i].Cells[12].Value.ToString();
                        da3.LoaiDA = int.Parse(grvCauHoi.Rows[i].Cells[13].Value.ToString());
                        if (da3.HinhAnh != null && da3.HinhAnh != "")
                            blley.CopyPicture(da3.HinhAnh, "DAPAN", da3.MaDapAn);
                        dabll.ThemDapAn(da3);
                    }
                    //-----------------4
                    if ((grvCauHoi.Rows[i].Cells[14].Value != null && grvCauHoi.Rows[i].Cells[14].Value.ToString().Trim().Length > 0) && (grvCauHoi.Rows[i].Cells[16].Value != null && grvCauHoi.Rows[i].Cells[16].Value.ToString().Trim().Length > 0))
                    {
                        string ma4 = blley.RandomMa();
                        while (kiemtraKhoa_Dapan(ma4) == true)
                            ma4 = blley.RandomMa();
                        dsDapan2.Add(ma4);
                        DapAnTbl da4 = new DapAnTbl();
                        da4.MaDapAn = ma4;
                        da4.MaCauHoi = x;
                        da4.NoiDung = grvCauHoi.Rows[i].Cells[14].Value.ToString();
                        da4.HinhAnh = grvCauHoi.Rows[i].Cells[15].Value.ToString();
                        da4.LoaiDA = int.Parse(grvCauHoi.Rows[i].Cells[16].Value.ToString());
                        if (da4.HinhAnh != null && da4.HinhAnh != "")
                            blley.CopyPicture(da4.HinhAnh, "DAPAN", da4.MaDapAn);
                        dabll.ThemDapAn(da4);
                    }
                    //-----------------5
                    if ((grvCauHoi.Rows[i].Cells[17].Value != null && grvCauHoi.Rows[i].Cells[17].Value.ToString().Trim().Length > 0) && (grvCauHoi.Rows[i].Cells[19].Value != null && grvCauHoi.Rows[i].Cells[19].Value.ToString().Trim().Length > 0))
                    {
                        string ma5 = blley.RandomMa();
                        while (kiemtraKhoa_Dapan(ma5) == true)
                            ma5 = blley.RandomMa();
                        dsDapan2.Add(ma5);
                        DapAnTbl da5 = new DapAnTbl();
                        da5.MaDapAn = ma5;
                        da5.MaCauHoi = x;
                        da5.NoiDung = grvCauHoi.Rows[i].Cells[17].Value.ToString();
                        da5.HinhAnh = grvCauHoi.Rows[i].Cells[18].Value.ToString();
                        da5.LoaiDA = int.Parse(grvCauHoi.Rows[i].Cells[19].Value.ToString());
                        if (da5.HinhAnh != null && da5.HinhAnh != "")
                            blley.CopyPicture(da5.HinhAnh, "DAPAN", da5.MaDapAn);
                        dabll.ThemDapAn(da5);
                    }
                    //-----------------6
                    if ((grvCauHoi.Rows[i].Cells[20].Value != null && grvCauHoi.Rows[i].Cells[20].Value.ToString().Trim().Length > 0) && (grvCauHoi.Rows[i].Cells[22].Value != null && grvCauHoi.Rows[i].Cells[22].Value.ToString().Trim().Length > 0))
                    {
                        string ma6 = blley.RandomMa();
                        while (kiemtraKhoa_Dapan(ma6) == true)
                            ma6 = blley.RandomMa();
                        dsDapan2.Add(ma6);
                        DapAnTbl da6 = new DapAnTbl();
                        da6.MaDapAn = ma6;
                        da6.MaCauHoi = x;
                        da6.NoiDung = grvCauHoi.Rows[i].Cells[20].Value.ToString();
                        da6.HinhAnh = grvCauHoi.Rows[i].Cells[21].Value.ToString();
                        da6.LoaiDA = int.Parse(grvCauHoi.Rows[i].Cells[22].Value.ToString());
                        if (da6.HinhAnh != null && da6.HinhAnh != "")
                            blley.CopyPicture(da6.HinhAnh, "DAPAN", da6.MaDapAn);
                        dabll.ThemDapAn(da6);
                    }
                }
                this.DialogResult = System.Windows.Forms.DialogResult.OK;
                this.Hide();
            }
        }
    }
}